Skip to content

Layout Reader V27 - #8518

Draft
gatesn wants to merge 64 commits into
developfrom
ngates/layout27
Draft

Layout Reader V27#8518
gatesn wants to merge 64 commits into
developfrom
ngates/layout27

Conversation

@gatesn

@gatesn gatesn commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

What feels like the 27th time I've explored this space, I think I might finally be getting somewhere.

This design pulls out essentially a scan engine. Layouts are actually just one way take serialized arrays and construct a ScanPlan, but in theory we could build a ScanPlan by hand or by any other means.

A ScanPlan node can accept push-down of various operations:

  • try_push_expr - apply an expression over the plan node. This is the closest to our current layout readers that can take an expression, intercept some of it, pass some down to a child, and so on.

This plan can then be used to answer different types of questions:

  1. prepare_read - evaluate a row range of the plan to produce a resulting array.
  2. prepare_evidence - construct zero or more evidence providers that contribute evidence to a predicate. For example, zone maps are an evidence provider that emits definitely_false, but not definitely_true results, and with a much lower cost than a filter evaluation.
  3. prepare_aggregate - return the requested aggregate partial state. This allows zone maps or other layouts to answer aggregate push-down queries.
  4. prepare_stats - return a set of approximate aggregate partials for the given aggregates.

[more description to come]

gatesn and others added 17 commits June 17, 2026 14:38
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Checkpoint of in-progress V2 ScanNode work (segment scheduling driver,
scheduled segment source, scan scheduler) so agent fixes can be integrated
on a clean base. Reviewed/benchmarked state.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
The scan2 StructScanNode single-field fast paths (single get_item and
single-referenced-field expressions) routed straight to the child scan
node, bypassing the parent struct's validity mask. Projecting one field
out of a nullable struct therefore returned the child's own values and
validity with no parent null mask applied, producing wrong nulls (and a
non-nullable result where a nullable one was expected).

Mirror the v1 struct reader's `array.mask(validity)` behaviour: add a
small MaskScanNode that reads an input value and the struct's
non-nullable boolean validity child and produces `mask(input, validity)`.
Wrap the single-field fast-path results in MaskScanNode when the struct
is nullable. The full push_struct path already threads validity through
StructValueScanNode, so it is unchanged.

Add a V1-vs-V2 differential test harness in vortex-file that scans the
same ScanRequest through both paths and asserts equality across flat
(nullable + non-nullable), chunked, dict-encoded, zoned, and nested
nullable-struct fixtures, plus ports of the v1 struct-null regression
tests (test_struct_layout_nulls / test_struct_layout_nested) to the V2
path. Before the fix the five nested-nullable-struct cases failed with
"expected i32?, actual i32"; after the fix all 18 cases pass.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…filter-first

Port of the V1 multi-conjunct filter behavior to the V2 PartitionWorkScheduler
driver: (1) sort filter conjuncts cheapest-first in PreparedScanNodeFile::try_new
so expensive residuals (e.g. FSST LIKE) run after cheap selective ones; (2) when
the demanded-row density falls below EXPR_EVAL_THRESHOLD (0.2), read the residual
predicate with selection=need so the leaf returns the compacted array and the
expression evaluates over only the demanded rows, scattering the verdict back via
Mask::intersect_by_rank. Adds V1-vs-V2 differential cases (low- and high-density
multi-conjunct) and a predicate_cost unit test.

Improves ClickBench multi-conjunct filters (q22 701->547ms, q23 now < V1). A
separate single-LIKE FSST amplification (q21) remains and is tracked separately.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
V2 parallelizes the join probe, aggregate, and Arrow decode ACROSS
DataFusion partitions (V1 instead fans one partition into many split
tasks). When a query projected a heavily-encoded column (e.g. a single
RunEnd chunk for lineitem.l_orderkey), the opener fed split_aligned_row_range
coarse chunk boundaries, which collapsed every byte-range file_group onto
one partition and serialized the probe ~2-wide (TPC-H q4 ran 2.6x slower
than V1).

Feed split_aligned_row_range the scan's own morsel ranges instead: the
read-column chunk hints, or the 100k-row fallback when a read column is a
single chunk (mirroring PreparedScanNodeFile::splits). Each morsel lands
wholly in one partition, so the scan spreads across all of DataFusion's
byte-range file_groups with no collapse and no chunk straddling a partition
boundary. The assignment is contiguous per partition, so it is correct even
when the scan output must preserve order.

Also run the Vortex->Arrow conversion on the runtime CPU pool
(handle.spawn_cpu + buffered/buffer_unordered) so decode fans out within a
partition rather than running serially on the consumer poll thread.

TPC-H SF1 (datafusion-bench, VORTEX_SCAN_IMPL=v2): q4 goes from 2.6x slower
than V1 to faster than V1; overall ~parity.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…H_FULL_PLAN

With --show-metrics and VORTEX_BENCH_FULL_PLAN=1, print the DataFusion
EXPLAIN ANALYZE-style annotated plan (elapsed_compute / output_rows per
operator) to stderr, to localize where wall time goes across scan,
HashJoin build/probe, and aggregate.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Rename the runtime scan node API to ScanPlan and move the plan and segment primitives into vortex-scan. Layout v2 now expands directly through layout.new_scan_plan with a plan ScanRequest, and the docs describe the v2 path as the layout scan model.

Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn gatesn added the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 20, 2026
@github-actions github-actions Bot removed the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 20, 2026
@codspeed-hq

This comment was marked as off-topic.

gatesn added 6 commits June 19, 2026 23:37
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn gatesn added the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 21, 2026
@github-actions github-actions Bot removed the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 21, 2026
@gatesn gatesn added the action/benchmark Trigger full benchmarks to run on this PR label Jun 21, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Jun 21, 2026
@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Clickbench on NVME

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: -3.7%
Engines: DataFusion No clear signal (-5.6%, environment too noisy confidence) · DuckDB No clear signal (-1.7%, environment too noisy confidence)
Vortex (geomean): 0.962x ➖
Parquet (geomean): 0.999x ➖
Shifts: Parquet (control) -0.1% · Median polish -0.4%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (0.928x ➖, 18↑ 6↓)
name PR aff96ef (ns) base 797b650 (ns) ratio (PR/base)
clickbench_q00/datafusion:vortex-file-compressed 🚀 1627275 1957319 0.83
clickbench_q01/datafusion:vortex-file-compressed 🚀 9382202 27754185 0.34
clickbench_q02/datafusion:vortex-file-compressed 🚀 29242419 41080946 0.71
clickbench_q03/datafusion:vortex-file-compressed 🚀 37352960 47891363 0.78
clickbench_q04/datafusion:vortex-file-compressed 🚀 266089578 303504591 0.88
clickbench_q05/datafusion:vortex-file-compressed 373694381 378120631 0.99
clickbench_q06/datafusion:vortex-file-compressed 2017035 1872644 1.08
clickbench_q07/datafusion:vortex-file-compressed 🚀 14678739 27095838 0.54
clickbench_q08/datafusion:vortex-file-compressed 399937841 393077781 1.02
clickbench_q09/datafusion:vortex-file-compressed 553509765 576053532 0.96
clickbench_q10/datafusion:vortex-file-compressed 🚀 79038087 91469014 0.86
clickbench_q11/datafusion:vortex-file-compressed 🚀 88495830 111482340 0.79
clickbench_q12/datafusion:vortex-file-compressed 🚀 278814126 344907278 0.81
clickbench_q13/datafusion:vortex-file-compressed 🚀 452014215 541076329 0.84
clickbench_q14/datafusion:vortex-file-compressed 🚀 260157695 325384389 0.80
clickbench_q15/datafusion:vortex-file-compressed 276312011 275375619 1.00
clickbench_q16/datafusion:vortex-file-compressed 671193706 660054511 1.02
clickbench_q17/datafusion:vortex-file-compressed 672007169 650734215 1.03
clickbench_q18/datafusion:vortex-file-compressed 1371806086 1421894545 0.96
clickbench_q19/datafusion:vortex-file-compressed 🚀 21808614 27943788 0.78
clickbench_q20/datafusion:vortex-file-compressed 345387597 314000385 1.10
clickbench_q21/datafusion:vortex-file-compressed 🚨 443472904 391673585 1.13
clickbench_q22/datafusion:vortex-file-compressed 🚨 842658791 487456350 1.73
clickbench_q23/datafusion:vortex-file-compressed 🚨 946812214 630539434 1.50
clickbench_q24/datafusion:vortex-file-compressed 49742258 48999017 1.02
clickbench_q25/datafusion:vortex-file-compressed 82891642 75585797 1.10
clickbench_q26/datafusion:vortex-file-compressed 🚨 50697310 44550971 1.14
clickbench_q27/datafusion:vortex-file-compressed 🚨 562592247 419885170 1.34
clickbench_q28/datafusion:vortex-file-compressed 2419766048 2408030272 1.00
clickbench_q29/datafusion:vortex-file-compressed 🚀 45156772 50822686 0.89
clickbench_q30/datafusion:vortex-file-compressed 🚀 220980029 291130817 0.76
clickbench_q31/datafusion:vortex-file-compressed 🚀 239969763 325370822 0.74
clickbench_q32/datafusion:vortex-file-compressed 🚀 1058357448 1384926004 0.76
clickbench_q33/datafusion:vortex-file-compressed 1424511519 1446724026 0.98
clickbench_q34/datafusion:vortex-file-compressed 1385868642 1418353037 0.98
clickbench_q35/datafusion:vortex-file-compressed 231311493 237752853 0.97
clickbench_q36/datafusion:vortex-file-compressed 59401877 55001066 1.08
clickbench_q37/datafusion:vortex-file-compressed 25686978 24244355 1.06
clickbench_q38/datafusion:vortex-file-compressed 16175438 16154783 1.00
clickbench_q39/datafusion:vortex-file-compressed 🚨 137098815 122567611 1.12
clickbench_q40/datafusion:vortex-file-compressed 🚀 11174114 12662086 0.88
clickbench_q41/datafusion:vortex-file-compressed 🚀 10500682 12094665 0.87
clickbench_q42/datafusion:vortex-file-compressed 11203902 12149653 0.92
datafusion / parquet (0.983x ➖, 8↑ 4↓)
name PR aff96ef (ns) base 797b650 (ns) ratio (PR/base)
clickbench_q00/datafusion:parquet 1550283 1560446 0.99
clickbench_q01/datafusion:parquet 19767751 19472000 1.02
clickbench_q02/datafusion:parquet 42570098 43668368 0.97
clickbench_q03/datafusion:parquet 35128067 34403936 1.02
clickbench_q04/datafusion:parquet 261838922 266111760 0.98
clickbench_q05/datafusion:parquet 327751556 314450036 1.04
clickbench_q06/datafusion:parquet 1529216 1575988 0.97
clickbench_q07/datafusion:parquet 22179130 21581679 1.03
clickbench_q08/datafusion:parquet 339198489 325685335 1.04
clickbench_q09/datafusion:parquet 506090655 492289183 1.03
clickbench_q10/datafusion:parquet 95149260 92297160 1.03
clickbench_q11/datafusion:parquet 124062370 115634223 1.07
clickbench_q12/datafusion:parquet 315477132 306171364 1.03
clickbench_q13/datafusion:parquet 🚀 487958633 589844068 0.83
clickbench_q14/datafusion:parquet 🚀 320199823 406588876 0.79
clickbench_q15/datafusion:parquet 332933730 360241508 0.92
clickbench_q16/datafusion:parquet 850210825 845387138 1.01
clickbench_q17/datafusion:parquet 🚨 837718667 669881924 1.25
clickbench_q18/datafusion:parquet 1426811770 1407097673 1.01
clickbench_q19/datafusion:parquet 28076766 26490721 1.06
clickbench_q20/datafusion:parquet 571011692 556675025 1.03
clickbench_q21/datafusion:parquet 634086166 619067582 1.02
clickbench_q22/datafusion:parquet 911653786 905678875 1.01
clickbench_q23/datafusion:parquet 4097623209 4119401723 0.99
clickbench_q24/datafusion:parquet 60213221 58138673 1.04
clickbench_q25/datafusion:parquet 🚨 144265910 131055930 1.10
clickbench_q26/datafusion:parquet 58982326 58700558 1.00
clickbench_q27/datafusion:parquet 🚨 745160957 671756359 1.11
clickbench_q28/datafusion:parquet 🚀 2430811809 2760799196 0.88
clickbench_q29/datafusion:parquet 🚀 46914774 52369199 0.90
clickbench_q30/datafusion:parquet 310540040 338566436 0.92
clickbench_q31/datafusion:parquet 354079045 363267683 0.97
clickbench_q32/datafusion:parquet 🚨 1312024454 1118605983 1.17
clickbench_q33/datafusion:parquet 1610133435 1515910674 1.06
clickbench_q34/datafusion:parquet 1536393263 1564384643 0.98
clickbench_q35/datafusion:parquet 🚀 262307250 317653935 0.83
clickbench_q36/datafusion:parquet 🚀 109451192 128885022 0.85
clickbench_q37/datafusion:parquet 43621108 47777625 0.91
clickbench_q38/datafusion:parquet 🚀 59341735 68745206 0.86
clickbench_q39/datafusion:parquet 🚀 214442673 240372157 0.89
clickbench_q40/datafusion:parquet 23553321 25247372 0.93
clickbench_q41/datafusion:parquet 22479362 24627623 0.91
clickbench_q42/datafusion:parquet 23026538 23430430 0.98
duckdb / vortex-file-compressed (0.997x ➖, 12↑ 10↓)
name PR aff96ef (ns) base 797b650 (ns) ratio (PR/base)
clickbench_q00/duckdb:vortex-file-compressed 🚀 5467632 9387480 0.58
clickbench_q01/duckdb:vortex-file-compressed 🚀 9867891 14308859 0.69
clickbench_q02/duckdb:vortex-file-compressed 🚀 22738176 28193751 0.81
clickbench_q03/duckdb:vortex-file-compressed 🚀 28855041 34700373 0.83
clickbench_q04/duckdb:vortex-file-compressed 189386267 200647768 0.94
clickbench_q05/duckdb:vortex-file-compressed 178105803 181602659 0.98
clickbench_q06/duckdb:vortex-file-compressed 18728641 20265781 0.92
clickbench_q07/duckdb:vortex-file-compressed 🚀 14768956 24254158 0.61
clickbench_q08/duckdb:vortex-file-compressed 285681156 272644170 1.05
clickbench_q09/duckdb:vortex-file-compressed 382990718 352497466 1.09
clickbench_q10/duckdb:vortex-file-compressed 82522879 79092929 1.04
clickbench_q11/duckdb:vortex-file-compressed 93926649 93677949 1.00
clickbench_q12/duckdb:vortex-file-compressed 🚨 248973092 217388775 1.15
clickbench_q13/duckdb:vortex-file-compressed 🚨 476439926 425592995 1.12
clickbench_q14/duckdb:vortex-file-compressed 243803709 268358828 0.91
clickbench_q15/duckdb:vortex-file-compressed 🚀 240162668 306245198 0.78
clickbench_q16/duckdb:vortex-file-compressed 🚀 545624880 652440535 0.84
clickbench_q17/duckdb:vortex-file-compressed 🚀 432575647 538084749 0.80
clickbench_q18/duckdb:vortex-file-compressed 949510671 988521829 0.96
clickbench_q19/duckdb:vortex-file-compressed 21214687 22442451 0.95
clickbench_q20/duckdb:vortex-file-compressed 290812457 301143132 0.97
clickbench_q21/duckdb:vortex-file-compressed 🚀 357713727 401895407 0.89
clickbench_q22/duckdb:vortex-file-compressed 🚨 661799150 578106397 1.14
clickbench_q23/duckdb:vortex-file-compressed 201119672 183352398 1.10
clickbench_q24/duckdb:vortex-file-compressed 🚨 52315896 39831842 1.31
clickbench_q25/duckdb:vortex-file-compressed 89816146 87596958 1.03
clickbench_q26/duckdb:vortex-file-compressed 🚨 76501227 42237208 1.81
clickbench_q27/duckdb:vortex-file-compressed 🚨 287213940 217329618 1.32
clickbench_q28/duckdb:vortex-file-compressed 3361856649 3231285327 1.04
clickbench_q29/duckdb:vortex-file-compressed 🚀 26192646 29527285 0.89
clickbench_q30/duckdb:vortex-file-compressed 189686220 203826452 0.93
clickbench_q31/duckdb:vortex-file-compressed 287090237 303781794 0.95
clickbench_q32/duckdb:vortex-file-compressed 1122518923 1125474666 1.00
clickbench_q33/duckdb:vortex-file-compressed 1111945848 1131056902 0.98
clickbench_q34/duckdb:vortex-file-compressed 🚀 1196562101 1519909442 0.79
clickbench_q35/duckdb:vortex-file-compressed 🚀 377736692 429279748 0.88
clickbench_q36/duckdb:vortex-file-compressed 🚨 55070479 34886490 1.58
clickbench_q37/duckdb:vortex-file-compressed 🚨 39460465 23525106 1.68
clickbench_q38/duckdb:vortex-file-compressed 🚨 44656698 28390567 1.57
clickbench_q39/duckdb:vortex-file-compressed 🚨 71156648 54860806 1.30
clickbench_q40/duckdb:vortex-file-compressed 25134632 25959857 0.97
clickbench_q41/duckdb:vortex-file-compressed 22133035 23329628 0.95
clickbench_q42/duckdb:vortex-file-compressed 23595923 23652814 1.00
duckdb / parquet (1.014x ➖, 2↑ 3↓)
name PR aff96ef (ns) base 797b650 (ns) ratio (PR/base)
clickbench_q00/duckdb:parquet 23368467 22830244 1.02
clickbench_q01/duckdb:parquet 30232273 29533062 1.02
clickbench_q02/duckdb:parquet 49768773 49920273 1.00
clickbench_q03/duckdb:parquet 40925258 39628566 1.03
clickbench_q04/duckdb:parquet 214402466 200643152 1.07
clickbench_q05/duckdb:parquet 263110569 256269922 1.03
clickbench_q06/duckdb:parquet 47317315 47465226 1.00
clickbench_q07/duckdb:parquet 31273499 30944355 1.01
clickbench_q08/duckdb:parquet 279281125 273099658 1.02
clickbench_q09/duckdb:parquet 407948696 402023588 1.01
clickbench_q10/duckdb:parquet 83123162 81219497 1.02
clickbench_q11/duckdb:parquet 99591313 99597567 1.00
clickbench_q12/duckdb:parquet 283031087 280567984 1.01
clickbench_q13/duckdb:parquet 482995504 471865219 1.02
clickbench_q14/duckdb:parquet 321096922 316087694 1.02
clickbench_q15/duckdb:parquet 263522323 256635947 1.03
clickbench_q16/duckdb:parquet 🚨 699548270 596014856 1.17
clickbench_q17/duckdb:parquet 🚨 597527848 497877326 1.20
clickbench_q18/duckdb:parquet 🚨 1255224651 1048579607 1.20
clickbench_q19/duckdb:parquet 28856760 28295430 1.02
clickbench_q20/duckdb:parquet 415166939 414573382 1.00
clickbench_q21/duckdb:parquet 535853685 531790356 1.01
clickbench_q22/duckdb:parquet 927938855 936083486 0.99
clickbench_q23/duckdb:parquet 271434803 261069177 1.04
clickbench_q24/duckdb:parquet 73080674 71331817 1.02
clickbench_q25/duckdb:parquet 163515865 163154132 1.00
clickbench_q26/duckdb:parquet 54542691 55382572 0.98
clickbench_q27/duckdb:parquet 475306452 474909013 1.00
clickbench_q28/duckdb:parquet 4955005461 4772020334 1.04
clickbench_q29/duckdb:parquet 42415246 41528549 1.02
clickbench_q30/duckdb:parquet 314446487 308975729 1.02
clickbench_q31/duckdb:parquet 383676700 376613532 1.02
clickbench_q32/duckdb:parquet 1104135786 1098549154 1.01
clickbench_q33/duckdb:parquet 1106725726 1119980907 0.99
clickbench_q34/duckdb:parquet 🚀 1147249841 1354995232 0.85
clickbench_q35/duckdb:parquet 367051772 366355784 1.00
clickbench_q36/duckdb:parquet 48568137 52468879 0.93
clickbench_q37/duckdb:parquet 33991187 33514688 1.01
clickbench_q38/duckdb:parquet 35898172 35143909 1.02
clickbench_q39/duckdb:parquet 🚀 76057966 89118192 0.85
clickbench_q40/duckdb:parquet 19776617 19970124 0.99
clickbench_q41/duckdb:parquet 20386112 20537732 0.99
clickbench_q42/duckdb:parquet 22046874 21883923 1.01

File Size Changes (201 files changed, -39.1% overall, 41↑ 160↓)
File Scale Format Base HEAD Change %
hits_90.vortex 1.0 vortex-file-compressed 139.77 MB 141.76 MB +1.99 MB +1.4%
hits_27.vortex 1.0 vortex-file-compressed 122.47 MB 122.97 MB +511.52 KB +0.4%
hits_97.vortex 1.0 vortex-file-compressed 106.68 MB 107.00 MB +327.07 KB +0.3%
hits_52.vortex 1.0 vortex-file-compressed 103.45 MB 103.67 MB +231.95 KB +0.2%
hits_6.vortex 1.0 vortex-file-compressed 93.20 MB 93.37 MB +167.76 KB +0.2%
hits_84.vortex 1.0 vortex-file-compressed 116.72 MB 116.90 MB +177.27 KB +0.1%
hits_78.vortex 1.0 vortex-file-compressed 163.99 MB 164.20 MB +216.67 KB +0.1%
hits_60.vortex 1.0 vortex-file-compressed 102.99 MB 103.11 MB +127.37 KB +0.1%
hits_37.vortex 1.0 vortex-file-compressed 85.29 MB 85.38 MB +99.62 KB +0.1%
hits_75.vortex 1.0 vortex-file-compressed 63.19 MB 63.27 MB +72.47 KB +0.1%
hits_94.vortex 1.0 vortex-file-compressed 138.37 MB 138.51 MB +139.44 KB +0.1%
hits_44.vortex 1.0 vortex-file-compressed 185.80 MB 185.97 MB +177.59 KB +0.1%
hits_7.vortex 1.0 vortex-file-compressed 93.84 MB 93.92 MB +80.93 KB +0.1%
hits_50.vortex 1.0 vortex-file-compressed 178.99 MB 179.13 MB +146.55 KB +0.1%
hits_56.vortex 1.0 vortex-file-compressed 123.10 MB 123.19 MB +92.09 KB +0.1%
hits_40.vortex 1.0 vortex-file-compressed 117.50 MB 117.58 MB +80.73 KB +0.1%
hits_10.vortex 1.0 vortex-file-compressed 69.31 MB 69.35 MB +47.30 KB +0.1%
hits_1.vortex 1.0 vortex-file-compressed 138.16 MB 138.23 MB +74.23 KB +0.1%
hits_3.vortex 1.0 vortex-file-compressed 141.68 MB 141.75 MB +75.77 KB +0.1%
hits_2.vortex 1.0 vortex-file-compressed 186.00 MB 186.10 MB +95.68 KB +0.1%
hits_32.vortex 1.0 vortex-file-compressed 66.52 MB 66.55 MB +32.79 KB +0.0%
hits_13.vortex 1.0 vortex-file-compressed 99.02 MB 99.06 MB +46.26 KB +0.0%
hits_54.vortex 1.0 vortex-file-compressed 221.15 MB 221.25 MB +101.01 KB +0.0%
hits_58.vortex 1.0 vortex-file-compressed 90.16 MB 90.20 MB +41.11 KB +0.0%
hits_88.vortex 1.0 vortex-file-compressed 110.86 MB 110.90 MB +45.05 KB +0.0%
hits_65.vortex 1.0 vortex-file-compressed 183.38 MB 183.45 MB +71.10 KB +0.0%
hits_49.vortex 1.0 vortex-file-compressed 75.40 MB 75.43 MB +27.94 KB +0.0%
hits_45.vortex 1.0 vortex-file-compressed 121.89 MB 121.93 MB +40.67 KB +0.0%
hits_64.vortex 1.0 vortex-file-compressed 80.96 MB 80.99 MB +26.65 KB +0.0%
hits_83.vortex 1.0 vortex-file-compressed 89.16 MB 89.19 MB +28.26 KB +0.0%
hits_15.vortex 1.0 vortex-file-compressed 89.08 MB 89.11 MB +25.42 KB +0.0%
hits_48.vortex 1.0 vortex-file-compressed 28.01 MB 28.02 MB +7.76 KB +0.0%
hits_34.vortex 1.0 vortex-file-compressed 97.39 MB 97.42 MB +22.74 KB +0.0%
hits_77.vortex 1.0 vortex-file-compressed 168.05 MB 168.08 MB +36.44 KB +0.0%
hits_85.vortex 1.0 vortex-file-compressed 91.47 MB 91.48 MB +19.83 KB +0.0%
hits_35.vortex 1.0 vortex-file-compressed 114.95 MB 114.97 MB +23.96 KB +0.0%
hits_41.vortex 1.0 vortex-file-compressed 222.90 MB 222.93 MB +32.52 KB +0.0%
hits_29.vortex 1.0 vortex-file-compressed 59.37 MB 59.38 MB +5.98 KB +0.0%
hits_55.vortex 1.0 vortex-file-compressed 168.92 MB 168.93 MB +13.39 KB +0.0%
hits_8.vortex 1.0 vortex-file-compressed 93.21 MB 93.22 MB +6.80 KB +0.0%
hits_67.vortex 1.0 vortex-file-compressed 183.93 MB 183.94 MB +8.70 KB +0.0%
hits_0.vortex 1.0 vortex-file-compressed 89.46 MB 89.46 MB 880 B -0.0%
hits_4.vortex 1.0 vortex-file-compressed 108.23 MB 108.23 MB 1.11 KB -0.0%
hits_70.vortex 1.0 vortex-file-compressed 93.40 MB 93.40 MB 1.62 KB -0.0%
hits_39.vortex 1.0 vortex-file-compressed 80.08 MB 80.08 MB 2.39 KB -0.0%
hits_25.vortex 1.0 vortex-file-compressed 113.28 MB 113.28 MB 3.43 KB -0.0%
hits_71.vortex 1.0 vortex-file-compressed 101.61 MB 101.60 MB 3.67 KB -0.0%
hits_46.vortex 1.0 vortex-file-compressed 69.04 MB 69.04 MB 3.42 KB -0.0%
hits_19.vortex 1.0 vortex-file-compressed 73.25 MB 73.24 MB 3.77 KB -0.0%
hits_80.vortex 1.0 vortex-file-compressed 104.97 MB 104.97 MB 8.03 KB -0.0%
hits_51.vortex 1.0 vortex-file-compressed 277.59 MB 277.56 MB 30.38 KB -0.0%
hits_24.vortex 1.0 vortex-file-compressed 75.95 MB 75.94 MB 9.33 KB -0.0%
hits_72.vortex 1.0 vortex-file-compressed 84.46 MB 84.45 MB 11.28 KB -0.0%
hits_17.vortex 1.0 vortex-file-compressed 87.14 MB 87.13 MB 12.89 KB -0.0%
hits_12.vortex 1.0 vortex-file-compressed 100.82 MB 100.80 MB 17.68 KB -0.0%
hits_79.vortex 1.0 vortex-file-compressed 143.86 MB 143.83 MB 33.91 KB -0.0%
hits_99.vortex 1.0 vortex-file-compressed 122.80 MB 122.77 MB 29.24 KB -0.0%
hits_20.vortex 1.0 vortex-file-compressed 62.54 MB 62.53 MB 16.98 KB -0.0%
hits_22.vortex 1.0 vortex-file-compressed 76.84 MB 76.82 MB 22.51 KB -0.0%
hits_91.vortex 1.0 vortex-file-compressed 96.85 MB 96.82 MB 28.85 KB -0.0%
hits_42.vortex 1.0 vortex-file-compressed 221.83 MB 221.77 MB 68.01 KB -0.0%
hits_76.vortex 1.0 vortex-file-compressed 113.88 MB 113.85 MB 34.92 KB -0.0%
hits_28.vortex 1.0 vortex-file-compressed 119.72 MB 119.69 MB 37.26 KB -0.0%
hits_31.vortex 1.0 vortex-file-compressed 90.03 MB 90.00 MB 32.49 KB -0.0%
hits_61.vortex 1.0 vortex-file-compressed 101.03 MB 100.99 MB 36.96 KB -0.0%
hits_5.vortex 1.0 vortex-file-compressed 92.91 MB 92.87 MB 42.92 KB -0.0%
hits_68.vortex 1.0 vortex-file-compressed 122.90 MB 122.84 MB 62.10 KB -0.0%
hits_81.vortex 1.0 vortex-file-compressed 100.69 MB 100.64 MB 51.19 KB -0.0%
hits_82.vortex 1.0 vortex-file-compressed 99.49 MB 99.44 MB 51.13 KB -0.1%
hits_9.vortex 1.0 vortex-file-compressed 99.08 MB 99.03 MB 51.98 KB -0.1%
hits_59.vortex 1.0 vortex-file-compressed 101.69 MB 101.64 MB 54.85 KB -0.1%
hits_14.vortex 1.0 vortex-file-compressed 111.21 MB 111.15 MB 63.20 KB -0.1%
hits_69.vortex 1.0 vortex-file-compressed 123.01 MB 122.94 MB 70.18 KB -0.1%
hits_47.vortex 1.0 vortex-file-compressed 41.26 MB 41.24 MB 25.04 KB -0.1%
hits_96.vortex 1.0 vortex-file-compressed 135.19 MB 135.11 MB 87.86 KB -0.1%
hits_98.vortex 1.0 vortex-file-compressed 118.16 MB 118.08 MB 77.31 KB -0.1%
hits_33.vortex 1.0 vortex-file-compressed 57.07 MB 57.03 MB 40.48 KB -0.1%
hits_63.vortex 1.0 vortex-file-compressed 69.11 MB 69.06 MB 50.66 KB -0.1%
hits_53.vortex 1.0 vortex-file-compressed 85.50 MB 85.43 MB 65.05 KB -0.1%
hits_16.vortex 1.0 vortex-file-compressed 79.31 MB 79.25 MB 60.38 KB -0.1%
hits_30.vortex 1.0 vortex-file-compressed 86.79 MB 86.72 MB 72.94 KB -0.1%
hits_74.vortex 1.0 vortex-file-compressed 119.54 MB 119.44 MB 103.23 KB -0.1%
hits_38.vortex 1.0 vortex-file-compressed 99.05 MB 98.96 MB 88.50 KB -0.1%
hits_62.vortex 1.0 vortex-file-compressed 117.32 MB 117.22 MB 108.98 KB -0.1%
hits_36.vortex 1.0 vortex-file-compressed 68.33 MB 68.27 MB 64.27 KB -0.1%
hits_87.vortex 1.0 vortex-file-compressed 172.15 MB 171.99 MB 167.84 KB -0.1%
hits_26.vortex 1.0 vortex-file-compressed 109.28 MB 109.18 MB 109.79 KB -0.1%
hits_89.vortex 1.0 vortex-file-compressed 184.48 MB 184.28 MB 207.73 KB -0.1%
hits_66.vortex 1.0 vortex-file-compressed 90.18 MB 90.08 MB 101.71 KB -0.1%
hits_73.vortex 1.0 vortex-file-compressed 109.51 MB 109.38 MB 128.41 KB -0.1%
hits_18.vortex 1.0 vortex-file-compressed 104.44 MB 104.31 MB 127.25 KB -0.1%
hits_95.vortex 1.0 vortex-file-compressed 96.16 MB 96.04 MB 120.39 KB -0.1%
hits_43.vortex 1.0 vortex-file-compressed 226.45 MB 226.15 MB 304.84 KB -0.1%
hits_92.vortex 1.0 vortex-file-compressed 146.58 MB 146.37 MB 210.30 KB -0.1%
hits_93.vortex 1.0 vortex-file-compressed 90.30 MB 90.15 MB 152.37 KB -0.2%
hits_57.vortex 1.0 vortex-file-compressed 128.17 MB 127.95 MB 225.32 KB -0.2%
hits_11.vortex 1.0 vortex-file-compressed 79.77 MB 79.62 MB 147.47 KB -0.2%
hits_86.vortex 1.0 vortex-file-compressed 69.21 MB 69.05 MB 161.12 KB -0.2%
hits_21.vortex 1.0 vortex-file-compressed 93.02 MB 92.73 MB 295.91 KB -0.3%
hits_23.vortex 1.0 vortex-file-compressed 76.67 MB 76.41 MB 264.62 KB -0.3%
duckdb.db 1.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%
hits_0.vortex 1.0 vortex-compact 58.57 MB 0 B 58.57 MB -100.0%
hits_1.vortex 1.0 vortex-compact 90.19 MB 0 B 90.19 MB -100.0%
hits_10.vortex 1.0 vortex-compact 48.75 MB 0 B 48.75 MB -100.0%
hits_11.vortex 1.0 vortex-compact 54.22 MB 0 B 54.22 MB -100.0%
hits_12.vortex 1.0 vortex-compact 69.16 MB 0 B 69.16 MB -100.0%
hits_13.vortex 1.0 vortex-compact 67.86 MB 0 B 67.86 MB -100.0%
hits_14.vortex 1.0 vortex-compact 73.60 MB 0 B 73.60 MB -100.0%
hits_15.vortex 1.0 vortex-compact 47.94 MB 0 B 47.94 MB -100.0%
hits_16.vortex 1.0 vortex-compact 48.07 MB 0 B 48.07 MB -100.0%
hits_17.vortex 1.0 vortex-compact 58.15 MB 0 B 58.15 MB -100.0%
hits_18.vortex 1.0 vortex-compact 64.13 MB 0 B 64.13 MB -100.0%
hits_19.vortex 1.0 vortex-compact 44.73 MB 0 B 44.73 MB -100.0%
hits_2.vortex 1.0 vortex-compact 129.13 MB 0 B 129.13 MB -100.0%
hits_20.vortex 1.0 vortex-compact 38.00 MB 0 B 38.00 MB -100.0%
hits_21.vortex 1.0 vortex-compact 51.52 MB 0 B 51.52 MB -100.0%
hits_22.vortex 1.0 vortex-compact 44.49 MB 0 B 44.49 MB -100.0%
hits_23.vortex 1.0 vortex-compact 43.92 MB 0 B 43.92 MB -100.0%
hits_24.vortex 1.0 vortex-compact 43.38 MB 0 B 43.38 MB -100.0%
hits_25.vortex 1.0 vortex-compact 72.93 MB 0 B 72.93 MB -100.0%
hits_26.vortex 1.0 vortex-compact 70.73 MB 0 B 70.73 MB -100.0%
hits_27.vortex 1.0 vortex-compact 69.80 MB 0 B 69.80 MB -100.0%
hits_28.vortex 1.0 vortex-compact 70.18 MB 0 B 70.18 MB -100.0%
hits_29.vortex 1.0 vortex-compact 36.49 MB 0 B 36.49 MB -100.0%
hits_3.vortex 1.0 vortex-compact 94.05 MB 0 B 94.05 MB -100.0%
hits_30.vortex 1.0 vortex-compact 58.56 MB 0 B 58.56 MB -100.0%
hits_31.vortex 1.0 vortex-compact 55.41 MB 0 B 55.41 MB -100.0%
hits_32.vortex 1.0 vortex-compact 44.03 MB 0 B 44.03 MB -100.0%
hits_33.vortex 1.0 vortex-compact 35.85 MB 0 B 35.85 MB -100.0%
hits_34.vortex 1.0 vortex-compact 58.09 MB 0 B 58.09 MB -100.0%
hits_35.vortex 1.0 vortex-compact 74.95 MB 0 B 74.95 MB -100.0%
hits_36.vortex 1.0 vortex-compact 48.90 MB 0 B 48.90 MB -100.0%
hits_37.vortex 1.0 vortex-compact 53.68 MB 0 B 53.68 MB -100.0%
hits_38.vortex 1.0 vortex-compact 62.96 MB 0 B 62.96 MB -100.0%
hits_39.vortex 1.0 vortex-compact 49.69 MB 0 B 49.69 MB -100.0%
hits_4.vortex 1.0 vortex-compact 71.69 MB 0 B 71.69 MB -100.0%
hits_40.vortex 1.0 vortex-compact 75.74 MB 0 B 75.74 MB -100.0%
hits_41.vortex 1.0 vortex-compact 165.52 MB 0 B 165.52 MB -100.0%
hits_42.vortex 1.0 vortex-compact 163.97 MB 0 B 163.97 MB -100.0%
hits_43.vortex 1.0 vortex-compact 168.64 MB 0 B 168.64 MB -100.0%
hits_44.vortex 1.0 vortex-compact 132.24 MB 0 B 132.24 MB -100.0%
hits_45.vortex 1.0 vortex-compact 75.87 MB 0 B 75.87 MB -100.0%
hits_46.vortex 1.0 vortex-compact 41.82 MB 0 B 41.82 MB -100.0%
hits_47.vortex 1.0 vortex-compact 18.19 MB 0 B 18.19 MB -100.0%
hits_48.vortex 1.0 vortex-compact 17.27 MB 0 B 17.27 MB -100.0%
hits_49.vortex 1.0 vortex-compact 50.42 MB 0 B 50.42 MB -100.0%
hits_5.vortex 1.0 vortex-compact 62.83 MB 0 B 62.83 MB -100.0%
hits_50.vortex 1.0 vortex-compact 112.99 MB 0 B 112.99 MB -100.0%
hits_51.vortex 1.0 vortex-compact 167.75 MB 0 B 167.75 MB -100.0%
hits_52.vortex 1.0 vortex-compact 63.54 MB 0 B 63.54 MB -100.0%
hits_53.vortex 1.0 vortex-compact 58.88 MB 0 B 58.88 MB -100.0%
hits_54.vortex 1.0 vortex-compact 117.56 MB 0 B 117.56 MB -100.0%
hits_55.vortex 1.0 vortex-compact 96.03 MB 0 B 96.03 MB -100.0%
hits_56.vortex 1.0 vortex-compact 77.75 MB 0 B 77.75 MB -100.0%
hits_57.vortex 1.0 vortex-compact 83.35 MB 0 B 83.35 MB -100.0%
hits_58.vortex 1.0 vortex-compact 60.31 MB 0 B 60.31 MB -100.0%
hits_59.vortex 1.0 vortex-compact 66.15 MB 0 B 66.15 MB -100.0%
hits_6.vortex 1.0 vortex-compact 63.08 MB 0 B 63.08 MB -100.0%
hits_60.vortex 1.0 vortex-compact 64.15 MB 0 B 64.15 MB -100.0%
hits_61.vortex 1.0 vortex-compact 57.46 MB 0 B 57.46 MB -100.0%
hits_62.vortex 1.0 vortex-compact 74.08 MB 0 B 74.08 MB -100.0%
hits_63.vortex 1.0 vortex-compact 46.00 MB 0 B 46.00 MB -100.0%
hits_64.vortex 1.0 vortex-compact 53.78 MB 0 B 53.78 MB -100.0%
hits_65.vortex 1.0 vortex-compact 129.70 MB 0 B 129.70 MB -100.0%
hits_66.vortex 1.0 vortex-compact 53.36 MB 0 B 53.36 MB -100.0%
hits_67.vortex 1.0 vortex-compact 113.93 MB 0 B 113.93 MB -100.0%
hits_68.vortex 1.0 vortex-compact 75.85 MB 0 B 75.85 MB -100.0%
hits_69.vortex 1.0 vortex-compact 80.82 MB 0 B 80.82 MB -100.0%
hits_7.vortex 1.0 vortex-compact 63.72 MB 0 B 63.72 MB -100.0%
hits_70.vortex 1.0 vortex-compact 61.16 MB 0 B 61.16 MB -100.0%
hits_71.vortex 1.0 vortex-compact 69.17 MB 0 B 69.17 MB -100.0%
hits_72.vortex 1.0 vortex-compact 51.60 MB 0 B 51.60 MB -100.0%
hits_73.vortex 1.0 vortex-compact 69.83 MB 0 B 69.83 MB -100.0%
hits_74.vortex 1.0 vortex-compact 71.46 MB 0 B 71.46 MB -100.0%
hits_75.vortex 1.0 vortex-compact 43.56 MB 0 B 43.56 MB -100.0%
hits_76.vortex 1.0 vortex-compact 76.27 MB 0 B 76.27 MB -100.0%
hits_77.vortex 1.0 vortex-compact 117.90 MB 0 B 117.90 MB -100.0%
hits_78.vortex 1.0 vortex-compact 97.80 MB 0 B 97.80 MB -100.0%
hits_79.vortex 1.0 vortex-compact 85.53 MB 0 B 85.53 MB -100.0%
hits_8.vortex 1.0 vortex-compact 62.81 MB 0 B 62.81 MB -100.0%
hits_80.vortex 1.0 vortex-compact 67.87 MB 0 B 67.87 MB -100.0%
hits_81.vortex 1.0 vortex-compact 65.33 MB 0 B 65.33 MB -100.0%
hits_82.vortex 1.0 vortex-compact 66.78 MB 0 B 66.78 MB -100.0%
hits_83.vortex 1.0 vortex-compact 52.39 MB 0 B 52.39 MB -100.0%
hits_84.vortex 1.0 vortex-compact 72.94 MB 0 B 72.94 MB -100.0%
hits_85.vortex 1.0 vortex-compact 52.53 MB 0 B 52.53 MB -100.0%
hits_86.vortex 1.0 vortex-compact 48.15 MB 0 B 48.15 MB -100.0%
hits_87.vortex 1.0 vortex-compact 118.82 MB 0 B 118.82 MB -100.0%
hits_88.vortex 1.0 vortex-compact 73.15 MB 0 B 73.15 MB -100.0%
hits_89.vortex 1.0 vortex-compact 112.70 MB 0 B 112.70 MB -100.0%
hits_9.vortex 1.0 vortex-compact 65.54 MB 0 B 65.54 MB -100.0%
hits_90.vortex 1.0 vortex-compact 82.51 MB 0 B 82.51 MB -100.0%
hits_91.vortex 1.0 vortex-compact 60.77 MB 0 B 60.77 MB -100.0%
hits_92.vortex 1.0 vortex-compact 94.11 MB 0 B 94.11 MB -100.0%
hits_93.vortex 1.0 vortex-compact 58.73 MB 0 B 58.73 MB -100.0%
hits_94.vortex 1.0 vortex-compact 90.48 MB 0 B 90.48 MB -100.0%
hits_95.vortex 1.0 vortex-compact 57.60 MB 0 B 57.60 MB -100.0%
hits_96.vortex 1.0 vortex-compact 90.92 MB 0 B 90.92 MB -100.0%
hits_97.vortex 1.0 vortex-compact 68.97 MB 0 B 68.97 MB -100.0%
hits_98.vortex 1.0 vortex-compact 72.60 MB 0 B 72.60 MB -100.0%
hits_99.vortex 1.0 vortex-compact 77.16 MB 0 B 77.16 MB -100.0%

Totals:

  • vortex-compact: 7.04 GB → 0 B (-100.0%)
  • vortex-file-compressed: 10.98 GB → 10.98 GB (+0.0%)

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=1 on S3

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +5.8%
Engines: DataFusion No clear signal (+1.2%, environment too noisy confidence) · DuckDB No clear signal (+10.5%, environment too noisy confidence)
Vortex (geomean): 1.046x ➖
Parquet (geomean): 0.989x ➖
Shifts: Parquet (control) -1.1% · Median polish +1.5%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (1.005x ➖, 1↑ 4↓)
name PR aff96ef (ns) base 3e7098c (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 277968127 299408506 0.93
tpch_q02/datafusion:vortex-file-compressed 530038333 673700381 0.79
tpch_q03/datafusion:vortex-file-compressed 🚨 673018140 482514293 1.39
tpch_q04/datafusion:vortex-file-compressed 🚨 536830090 273151179 1.97
tpch_q05/datafusion:vortex-file-compressed 🚨 663893935 456234900 1.46
tpch_q06/datafusion:vortex-file-compressed 430385737 514231341 0.84
tpch_q07/datafusion:vortex-file-compressed 700521219 602592818 1.16
tpch_q08/datafusion:vortex-file-compressed 660716208 725058292 0.91
tpch_q09/datafusion:vortex-file-compressed 422628415 517623647 0.82
tpch_q10/datafusion:vortex-file-compressed 🚀 500130943 813594924 0.61
tpch_q11/datafusion:vortex-file-compressed 380532510 486389395 0.78
tpch_q12/datafusion:vortex-file-compressed 377740632 423814636 0.89
tpch_q13/datafusion:vortex-file-compressed 207096171 212827818 0.97
tpch_q14/datafusion:vortex-file-compressed 🚨 354589892 260105701 1.36
tpch_q15/datafusion:vortex-file-compressed 497379462 491090716 1.01
tpch_q16/datafusion:vortex-file-compressed 283868200 294467229 0.96
tpch_q17/datafusion:vortex-file-compressed 353924963 357571766 0.99
tpch_q18/datafusion:vortex-file-compressed 271765286 316709975 0.86
tpch_q19/datafusion:vortex-file-compressed 425152090 497343995 0.85
tpch_q20/datafusion:vortex-file-compressed 461683500 418808571 1.10
tpch_q21/datafusion:vortex-file-compressed 699246877 581695829 1.20
tpch_q22/datafusion:vortex-file-compressed 195403861 195207534 1.00
datafusion / parquet (0.993x ➖, 1↑ 3↓)
name PR aff96ef (ns) base 3e7098c (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 259271870 246964603 1.05
tpch_q02/datafusion:parquet 522354944 425489914 1.23
tpch_q03/datafusion:parquet 🚨 546109792 392794321 1.39
tpch_q04/datafusion:parquet 327545834 274069227 1.20
tpch_q05/datafusion:parquet 🚨 757606832 558776668 1.36
tpch_q06/datafusion:parquet 245266713 190552156 1.29
tpch_q07/datafusion:parquet 551080568 593657215 0.93
tpch_q08/datafusion:parquet 🚨 980603817 568348672 1.73
tpch_q09/datafusion:parquet 605323142 543086870 1.11
tpch_q10/datafusion:parquet 569668061 512860117 1.11
tpch_q11/datafusion:parquet 389055948 379930329 1.02
tpch_q12/datafusion:parquet 276292715 272078963 1.02
tpch_q13/datafusion:parquet 422012463 430615958 0.98
tpch_q14/datafusion:parquet 227623724 228154112 1.00
tpch_q15/datafusion:parquet 317895901 379686971 0.84
tpch_q16/datafusion:parquet 175720480 212434891 0.83
tpch_q17/datafusion:parquet 412696548 551926403 0.75
tpch_q18/datafusion:parquet 600382346 572699363 1.05
tpch_q19/datafusion:parquet 450575800 499045853 0.90
tpch_q20/datafusion:parquet 298496351 400847219 0.74
tpch_q21/datafusion:parquet 504082802 617886719 0.82
tpch_q22/datafusion:parquet 🚀 172084656 448239102 0.38
duckdb / vortex-file-compressed (1.089x ➖, 1↑ 5↓)
name PR aff96ef (ns) base 3e7098c (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 257163495 256028485 1.00
tpch_q02/duckdb:vortex-file-compressed 🚨 1343587108 995156622 1.35
tpch_q03/duckdb:vortex-file-compressed 829841965 641983237 1.29
tpch_q04/duckdb:vortex-file-compressed 🚨 567311225 392463485 1.45
tpch_q05/duckdb:vortex-file-compressed 1013224669 836696329 1.21
tpch_q06/duckdb:vortex-file-compressed 343408259 388401744 0.88
tpch_q07/duckdb:vortex-file-compressed 1165089572 1011656981 1.15
tpch_q08/duckdb:vortex-file-compressed 🚨 1531035143 1135104439 1.35
tpch_q09/duckdb:vortex-file-compressed 1035341508 987268908 1.05
tpch_q10/duckdb:vortex-file-compressed 764338481 752469025 1.02
tpch_q11/duckdb:vortex-file-compressed 641685550 553615973 1.16
tpch_q12/duckdb:vortex-file-compressed 684855201 725434779 0.94
tpch_q13/duckdb:vortex-file-compressed 🚀 321969725 531875428 0.61
tpch_q14/duckdb:vortex-file-compressed 412655430 425785514 0.97
tpch_q15/duckdb:vortex-file-compressed 238436863 335065634 0.71
tpch_q16/duckdb:vortex-file-compressed 🚨 496620051 347948211 1.43
tpch_q17/duckdb:vortex-file-compressed 798598870 772413061 1.03
tpch_q18/duckdb:vortex-file-compressed 721147386 591122731 1.22
tpch_q19/duckdb:vortex-file-compressed 403318424 480478328 0.84
tpch_q20/duckdb:vortex-file-compressed 🚨 1061260125 790674795 1.34
tpch_q21/duckdb:vortex-file-compressed 1386926639 1131407066 1.23
tpch_q22/duckdb:vortex-file-compressed 377335532 295192504 1.28
duckdb / parquet (0.986x ➖, 0↑ 0↓)
name PR aff96ef (ns) base 3e7098c (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 431279355 606175215 0.71
tpch_q02/duckdb:parquet 1116756877 1143358382 0.98
tpch_q03/duckdb:parquet 1139709035 1159504610 0.98
tpch_q04/duckdb:parquet 669686794 717415961 0.93
tpch_q05/duckdb:parquet 1197130638 1325360430 0.90
tpch_q06/duckdb:parquet 472187911 432905537 1.09
tpch_q07/duckdb:parquet 1258944752 1187085651 1.06
tpch_q08/duckdb:parquet 1561165839 1573064869 0.99
tpch_q09/duckdb:parquet 1394494012 1500453026 0.93
tpch_q10/duckdb:parquet 1341526354 1355219535 0.99
tpch_q11/duckdb:parquet 705808377 741390504 0.95
tpch_q12/duckdb:parquet 726779155 725568127 1.00
tpch_q13/duckdb:parquet 923987653 935099003 0.99
tpch_q14/duckdb:parquet 823169963 667593473 1.23
tpch_q15/duckdb:parquet 576398222 554035563 1.04
tpch_q16/duckdb:parquet 700917034 662754534 1.06
tpch_q17/duckdb:parquet 741495961 795358225 0.93
tpch_q18/duckdb:parquet 901042239 960636014 0.94
tpch_q19/duckdb:parquet 872545956 780871846 1.12
tpch_q20/duckdb:parquet 1079315706 1163038983 0.93
tpch_q21/duckdb:parquet 1160462823 1088348981 1.07
tpch_q22/duckdb:parquet 589029070 608938840 0.97

gatesn added 7 commits June 24, 2026 22:00
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: "Nicholas Gates" <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>

# Conflicts:
#	vortex-datafusion/src/persistent/format.rs
#	vortex-datafusion/src/persistent/source.rs
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: "Nicholas Gates" <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn gatesn added the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 30, 2026
@github-actions github-actions Bot removed the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 30, 2026
gatesn added 2 commits June 30, 2026 16:42
Signed-off-by: Nicholas Gates <nick@nickgates.com>
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn
gatesn force-pushed the ngates/layout27 branch from 4a064ed to 3ea4e47 Compare June 30, 2026 20:43
DCO Remediation Commit for Nicholas Gates <nick@nickgates.com>

I, Nicholas Gates <nick@nickgates.com>, hereby add my Signed-off-by to this commit: e96e21d
I, Nicholas Gates <nick@nickgates.com>, hereby add my Signed-off-by to this commit: 2926420
I, Nicholas Gates <nick@nickgates.com>, hereby add my Signed-off-by to this commit: 97042b6
I, Nicholas Gates <nick@nickgates.com>, hereby add my Signed-off-by to this commit: 2f37a1b
I, Nicholas Gates <nick@nickgates.com>, hereby add my Signed-off-by to this commit: 6fdd31b
I, Nicholas Gates <nick@nickgates.com>, hereby add my Signed-off-by to this commit: b4abeca

Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn
gatesn force-pushed the ngates/layout27 branch from 3ea4e47 to a8de97b Compare June 30, 2026 20:47
@gatesn gatesn added the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 30, 2026
@github-actions github-actions Bot removed the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 30, 2026
Signed-off-by: Nicholas Gates <nick@nickgates.com>
@gatesn gatesn added the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 30, 2026
@github-actions github-actions Bot removed the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This PR has been marked as stale because it has been open for 14 days with no activity. Please comment or remove the stale label if you wish to keep it active, otherwise it will be closed in 7 days

@github-actions github-actions Bot added the stale This PR is stale and will be auto-closed soon label Jul 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This PR was closed because it has been inactive for 7 days since being marked as stale.

@github-actions github-actions Bot closed this Jul 22, 2026
@robert3005 robert3005 reopened this Jul 22, 2026
@robert3005 robert3005 removed the stale This PR is stale and will be auto-closed soon label Jul 22, 2026
@robert3005
robert3005 removed the request for review from a team July 22, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants